var uMaxID=64;
var uRecordID = new Array(uMaxID);//64部电话
var uPhone = new Array(uMaxID);
var daijjiaMap=null;
var zhuanMap = null;
var errandMap = null;
var freightMap = null;
var zhuanxianMap = null;
var phone_timestamp=null;
var orderTypeId;
var ctx = window.daijia.ctx;
var cuidanIds = [];
//var timer1=window.setInterval(function(){
//	dope();
//},15000);
function  T_WaitForWin(vWin)
{
	var vTimeout=5000;	
	var vBegintime=new Date();
	var vEndtime=new Date();
	while(vWin.vInit != 1 && vEndtime.getTime() - vBegintime.getTime() < (vTimeout*2))//ns超时
	{
		if(vEndtime.getTime() - vBegintime.getTime() > vTimeout)//1s还没有完成，使用等待方式
		{
			Sleep(100);//等待100ms
		}
		vEndtime=new Date();
	}	
}

function TV_GetEvent()
{
	try{
		var iMax = qnviccub.QNV_DevInfo(0,QNV_DEVINFO_GETCHANNELS);
		var i = 0;
		for(var iCh=0;iCh<iMax; iCh++)
		{
			var lEventType = qnviccub.QNV_Event(iCh, QNV_EVENT_TYPE, 0, 0, 0, 0);
		
			var lEventHandle = -1;
			var lParam = 0;
			var lResult = -1;
			if (lEventType > 0) {
				lEventHandle = qnviccub.QNV_Event(iCh, QNV_EVENT_HANDLE,
						0, null, null, 0);
				lParam = qnviccub.QNV_Event(iCh, QNV_EVENT_PARAM, 0,
						null, null, 0);
				lResult = qnviccub.QNV_Event(iCh, QNV_EVENT_RESULT, 0,
						null, null, 0);
				var szDataBuffer = new Array();
				var szData = szDataBuffer.join("");
				var szArray = qnviccub.QNV_Event(iCh, QNV_EVENT_DATA, 0, null,
						szData, 1024);
				qnviccub.QNV_Event(iCh, QNV_EVENT_REMOVE, 0, null, null,
						0);// 删除
				 T_GetEvent(iCh,lEventType,lEventHandle,lResult,szArray.toString());
			}
		}
	}catch(e){
		
	}
}

function isIE() { //ie?  
    if (!!window.ActiveXObject || "ActiveXObject" in window)  
        return true;  
    else  
        return false;  
}  

function TV_Initialize()
{
	//注册设备
	if(window.ActiveXObject){
		try{
			var Ole = new ActiveXObject("qnviccub.qnviccub");	 
		}
		catch(e)
		{
			
		}

	}else
	{
		if(!isIE()) { 
			g_interval = setInterval(TV_GetEvent,"200");
		} 
	}
	
	if(qnviccub){
		try{
			if(qnviccub.QNV_DevInfo(0,QNV_DEVINFO_GETCHANNELS) <= 0)
			{
				qnviccub.QNV_OpenDevice(0,0,0);
				//初始化状态控制
				var channels=qnviccub.QNV_DevInfo(0,QNV_DEVINFO_GETCHANNELS);
				if(channels > 0)
				{  			
				}else
				{
				}
				
				for(var i=0;i<uMaxID;i++)
				{
					uRecordID[i]=-1;
				}
			}
		}catch(e){
			
		}
	}
}

$(window).load(function(){
	TV_Initialize();
});

function  T_GetEvent(uID,uEventType,uHandle,uResult,szdata)
{
	switch(uEventType)
	{	 
	case BriEvent_PhoneHook:// 本地电话机摘机事件
		{
			//获取硬盘列表
			var vDiskList=qnviccub.QNV_Tool(QNV_TOOL_DISKLIST,0,0,0,0,0);
			var disk = vDiskList.split(",")[0] +"record\\";
			qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_SETROOT,0,0,disk); //设置默认录音存放地址
			
			//有来电，先停止录音
			if(uRecordID[uID] > 0){
				var vRecPath=qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_PATH,uRecordID[uID],0,0);  //录音路径
				var vElapse=qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_ELAPSE,uRecordID[uID],0,0); //录音时间
				qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_STOP,uRecordID[uID],0,0);
				uRecordID[uID]=0;
				
				// uploadRecordFile(uID);
			}
			
			var vFormatID=BRI_WAV_FORMAT_IMAADPCM8K4B;//选择使用4K/S的ADPCM格式录音
			var vmask=RECORD_MASK_ECHO|RECORD_MASK_AGC;//使用回音抵消后并且自动增益的数据
			var vFile = uPhone[uID]+".wav";
			uRecordID[uID]=qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_START,vFormatID,vmask,vFile);
		}
		break;	
	case BriEvent_PhoneDial:// 只有在本地话机摘机，没有调用软摘机时，检测到DTMF拨号
		break;	
	case BriEvent_PhoneHang:// 本地电话机挂机事件
		{
			//停止录音
			TV_HangUpCtrl(0);//挂机
			
			if(uRecordID[uID] > 0){
				
				var vRecPath=qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_PATH,uRecordID[uID],0,0);  //录音路径
				var vElapse=qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_ELAPSE,uRecordID[uID],0,0); //录音时间
				qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_STOP,uRecordID[uID],0,0);
				uRecordID[uID]=0;
				// uploadRecordFile(uID);
			
			}
			
		}
		break;
	case BriEvent_CallIn:// 外线通道来电响铃事件
		break;
	case BriEvent_GetCallID://得到来电号码
		{
			uPhone[uID]=szdata+"";
			phone_timestamp=new Date().getTime();
			if(uPhone[uID].length>=6){
				window.open(window.daijia.ctx+"/order/phoneadd?phone="+uPhone[uID]+"&timestamp="+phone_timestamp, "_blank", "height=770,width=1220,scrollbars=yes,resizable=yes,alwaysRaised=yes,toolbar=no");
			}
		}
		break;
	case BriEvent_StopCallIn:// 对方停止呼叫(产生一个未接电话)
		break;
	case BriEvent_DialEnd:// 调用开始拨号后，全部号码拨号结束
		break;
	case BriEvent_PlayFileEnd:// 播放文件结束事件
		break;
	case BriEvent_PlayMultiFileEnd:// 多文件连播结束事件
		break;
	case BriEvent_PlayStringEnd://播放字符结束
		break;
	case BriEvent_RepeatPlayFile:// 播放文件结束准备重复播放
		break;
	case BriEvent_SendCallIDEnd:// 给本地设备发送震铃信号时发送号码结束
		break;
	case BriEvent_RingTimeOut://给本地设备发送震铃信号时超时
		break;	
	case BriEvent_Ringing://正在内线震铃
		break;
	case BriEvent_Silence:// 通话时检测到一定时间的静音.默认为5秒
		break;
	case BriEvent_GetDTMFChar:// 线路接通时收到DTMF码事件
		break;
	case BriEvent_RemoteHook:// 拨号后,被叫方摘机事件
		break;
	case BriEvent_RemoteHang://对方挂机事件
		{
			//停止录音
			TV_HangUpCtrl(0);//挂机	
		
			if(uRecordID[uID] > 0){
				var vRecPath=qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_PATH,uRecordID[uID],0,0);  //录音路径
				var vElapse=qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_ELAPSE,uRecordID[uID],0,0); //录音时间
				qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_STOP,uRecordID[uID],0,0);
				uRecordID[uID]=0;
				
				// uploadRecordFile(uID);
			}
			
			
		}
		break;
	case BriEvent_Busy:// 检测到忙音事件,表示PSTN线路已经被断开
		{
			//挂机
			TV_HangUpCtrl(0);
			//停止录音
			if(uRecordID[uID] > 0){
				var vRecPath=qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_PATH,uRecordID[uID],0,0);  //录音路径
				var vElapse=qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_ELAPSE,uRecordID[uID],0,0); //录音时间
				qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_STOP,uRecordID[uID],0,0);
				uRecordID[uID]=0;
				
				// uploadRecordFile(uID);
			}
		}
		break;
	case BriEvent_PSTNFree:
		{
			//停止录音
			if(uRecordID[uID] > 0){
				var vRecPath=qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_PATH,uRecordID[uID],0,0);  //录音路径
				var vElapse=qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_ELAPSE,uRecordID[uID],0,0); //录音时间
				qnviccub.QNV_RecordFile(uID,QNV_RECORD_FILE_STOP,uRecordID[uID],0,0);
				uRecordID[uID]=0;
				
				// uploadRecordFile(uID);
			}	
		}
		break;
	case BriEvent_DialTone:// 本地摘机后检测到拨号音
		break;
	case BriEvent_RingBack:// 电话机拨号结束呼出事件。
		break;
	case BriEvent_MicIn:// MIC插入状态
		break;
	case BriEvent_MicOut:// MIC拔出状态
		break;
	case BriEvent_FlashEnd:// 拍插簧(Flash)完成事件，拍插簧完成后可以检测拨号音后进行二次拨号
		break;
	case BriEvent_RefuseEnd:// 拒接完成
	{
			qnviccub.QNV_CallLog(uID,QNV_CALLLOG_DELRECFILE,"",0); //拒接后直接删除本地录音
	}
		break;
	case BriEvent_SpeechResult:// 语音识别完成 
		break;
	case BriEvent_FaxRecvFinished:// 接收传真完成
		break;
	case BriEvent_FaxRecvFailed:// 接收传真失败
		break;
	case BriEvent_FaxSendFinished:// 发送传真完成
		break;
	case BriEvent_FaxSendFailed:// 发送传真失败
		break;
	case BriEvent_OpenSoundFailed:// 启动声卡失败
		break;
	case BriEvent_UploadSuccess://远程上传成功
		break;
	case BriEvent_UploadFailed://远程上传失败
		break;
	case BriEvent_EnableHook:// 应用层调用软摘机/软挂机成功事件
		break;
	case BriEvent_EnablePlay:// 喇叭被打开或者/关闭
		break;
	case BriEvent_EnableMic:// MIC被打开或者关闭
		break;
	case BriEvent_EnableSpk:// 耳机被打开或者关闭
		break;
	case BriEvent_EnableRing:// 电话机跟电话线(PSTN)断开/接通
		break;
	case BriEvent_DoRecSource:// 修改录音源
		break;
	case BriEvent_DoStartDial:// 开始软件拨号
		break;
	case BriEvent_RecvedFSK:// 接收到FSK信号，包括通话中FSK/来电号码的FSK
		break;
	case BriEvent_DevErr://设备错误
		break;
	default:
		if(uEventType < BriEvent_EndID){

		}
		break;
	}
}

function TV_StartDial(uID,szCode)
{	//正常拨号必须使用 DIALTYPE_DTMF
	if(qnviccub){
		if(qnviccub.QNV_General(uID,QNV_GENERAL_STARTDIAL,DIALTYPE_DTMF,szCode) <= 0)
		{
		}else
		{
		}
	}
}

function TV_OffHookCtrl(uID)
{
	TV_EnableHook(uID,TRUE);
}

function TV_HangUpCtrl(uID)
{
	TV_EnableHook(uID,FALSE);
}

function TV_EnableHook(uID,bEnable)
{
	TV_SetDevCtrl(uID,QNV_CTRL_DOHOOK,bEnable);
}

function TV_SetDevCtrl(nChannel,paramName,nValue)
{
	qnviccub.QNV_SetDevCtrl(nChannel,paramName,nValue);
}
/**
 * 上传录音文件
 * @param filePath
 * @param phoneType
 */
function uploadRecordFile(uID)
{	
	var vfilepath=qnviccub.QNV_CallLog(uID,QNV_CALLLOG_CALLRECFILE,0,0);
	
	var lCallType=qnviccub.QNV_CallLog(phone_timestamp+"_"+uID,QNV_CALLLOG_CALLTYPE,0,0);
	
	var url = window.daijia.ctx+"/common/uploadTellRecord?callType="+lCallType;
	
	//远程操作
	var vret=qnviccub.QNV_Remote(QNV_REMOTE_UPLOAD_START,OPTYPE_REMOVE|OPTYPE_SAVE,url,vfilepath,0,0);
	//复位状态
	qnviccub.QNV_CallLog(uID,QNV_CALLLOG_RESET,0,0);
	
	phone_timestamp=null;
	
	if(vret <= 0){
		
	}
	else{
		
	}
}

function dope(){
	$('.small a').tooltip();
	$('.nr-bt').tooltip();
	$('.baoxian').tooltip();
	
	var messageContent="";
	/**顶部消息**/
	$.get(window.daijia.ctx+'/common/topMessage',{},function(data){
		var totalMessage=data.tixianAmount+data.applyMemberAmount+data.receiptAmount+data.lessDriverAmount+data.applyDriverAmount+data.newRentOrderAmount;
		if(totalMessage>0){
			messageContent+='<div class="list-group">';
		    
			if(data.tixianAmount>0){
				messageContent+='<a href="'+window.daijia.ctx+'/weixinmanager/list" class="list-group-item">'+
								    '待客户经理提现 &nbsp; <span style="float:right;">(<span style="color:red;"> '+data.tixianAmount+' </span>)</span> '+
								'</a>';
			}
			
			if(data.applyMemberAmount>0){
				messageContent+='<a href="'+window.daijia.ctx+'/memberapply/list" class="list-group-item">'+
								    '客户Vip申请 &nbsp; <span style="float:right;">(<span style="color:red;"> '+data.applyMemberAmount+' </span>)</span> '+
								'</a>';
			}
			
			if(data.receiptAmount>0){
				messageContent+='<a href="'+window.daijia.ctx+'/receipt/list" class="list-group-item">'+
								    '待开发票 &nbsp; <span style="float:right;">(<span style="color:red;"> '+data.receiptAmount+' </span>)</span> '+
								'</a>';
			}
			
			if(data.lessDriverAmount>0){
				messageContent+='<a href="javascript:;" class="list-group-item">'+
								    '低于最低上线余额服务人员 &nbsp; <span style="float:right;">(<span style="color:red;"> '+data.lessDriverAmount+' </span>)</span> '+
								'</a>';
			}
			
			if(data.applyDriverAmount>0){
				messageContent+='<a href="'+window.daijia.ctx+'/driverapply/list" class="list-group-item">'+
								    '服务人员审核 &nbsp; <span style="float:right;">(<span style="color:red;"> '+data.applyDriverAmount+' </span>)</span> '+
								'</a>';
			}
			
			if(data.newRentOrderAmount>0){
				messageContent+='<a href="'+window.daijia.ctx+'/rentOrder/newlist" class="list-group-item">'+
									'租车新订单 &nbsp; <span style="float:right;">(<span style="color:red;"> '+data.newRentOrderAmount+' </span>)</span> '+
								'</a>';
			}
			
//			if(data.queryByInsuranceTimeLong>0){
//				messageContent+='<a href="'+window.daijia.ctx+'/zhuanche/cars" class="list-group-item">'+
//									'专车保险到期&nbsp; <span style="float:right;">(<span style="color:red;"> '+data.queryByInsuranceTimeLong+' </span>)</span> '+
//								'</a>';
//			}
//			
//			if(data.queryByOverhaulTimeLong>0){
//				messageContent+='<a href="'+window.daijia.ctx+'/zhuanche/cars" class="list-group-item">'+
//									'专车年检到期  &nbsp; <span style="float:right;">(<span style="color:red;"> '+data.queryByOverhaulTimeLong+' </span>)</span> '+
//								'</a>';
//			}

			
			messageContent+='</div>';
			
			$("#top_message_span").html(totalMessage);
			
		}
		else{
			messageContent='暂无通知消息';
		}
		
		$('#top_message').popover({
			title:"通知消息",
			html:true,
			content:messageContent
		});
		
	});

	/**消息**/
	$('.phone').click(function(){
		var phone = $(this).attr('data');
		TV_StartDial(0,phone);
	});
}

$(document).ready(function(){
	
	$.get(window.daijia.ctx + "/admin/checkLoginToken",null,function(result){
        if(result.success){
        	dope();
        }
        else{
        	alert("该帐号已被其他用户登录");
        	window.location.href = window.daijia.ctx+"/logout";
        }
    },'json');
	
});

$(document).ready(function(){
    var url = window.daijia.ctx + "/insurances/app"
    $.post(url,null,function(data){
        if(data.name){
            if( (data.balance + data.nodraw) <= 200){
                var html = '<div class="alert alert-danger alert-dismissible" role="alert">'+
                    '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>'+
                    '<strong>重要提示：</strong>&nbsp;&nbsp;您当前代驾险保费可用余额：'+(data.balance + data.nodraw).toFixed(2)+'元 ，为了不影响自动投保，请提前充值！&nbsp;&nbsp;<a href="'+window.daijia.ctx+'/insurances/charge" class="btn btn-primary">立即充值</a></div>';

                $("#top").parent().append(html);

            }
        }
    },'json');

    var html = '<p><ol><li>预存的费用仅用于代驾险的保费消费。</li>'+
    '<li>每一个代驾订单为代驾服务开始保单生效,代驾服务结束保单失效。</li>'+
    '<li>相应的保费将自动扣除。</li>'+
    '<li>为了不影响自动投保，请随时保证系统中有足额额保费，当保费不足时系统有提醒，请及时充值。</li>'+
    '<li style="color: #FF0000;">当保费余额小于保费单价时，系统将无法投保，重新充值后需要7个工作日才能重新开启！</li>'+
    '<li>充值的保费600元以上是可以提现，需向销售专员申请提现，提现周期为3-7个工作日。</li>'+
    '<li>我们的系统是直接与平安代驾险对接，投保后都是即时生效！</li>'+
    '<li>代驾投保、险出险理赔流程：请参见：<a href="http://help.easymi.com/443.html" target="_blank">http://help.easymi.com/443.html</a></li>' +
    '<li style="color: #FF0000;">按照与平安代驾责任险保险产品合作协议规定，2017年6月1日开始按单投保每单保费调整为：2.0元。</li>'+
	'<li style="color: #FF0000;">温馨提示：要对司机的驾驶习惯要做严格要求，出险率特别高的公司平安公司将单独调高保费。</li>'+
	'<li style="color: #FF0000;">首次购买平安代驾险，必须先同意平安代驾责任险协议，并充值保费，代驾公司必须提供有效的公司营业执照、税务登记证、组织机构代码或者三证合一的营业执照证给售后客服。</li>'+
	'</ol></p>';

    $("#chargeIntro").html(html);

});
